Skip to content

chore: upgrade gravity navigation to v4#4035

Open
astandrik wants to merge 7 commits into
mainfrom
astandrik.upgrade-to-navigation-v4
Open

chore: upgrade gravity navigation to v4#4035
astandrik wants to merge 7 commits into
mainfrom
astandrik.upgrade-to-navigation-v4

Conversation

@astandrik

@astandrik astandrik commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Closes #4024

CI Results

Test Status: ⚠️ FLAKY

📊 Full Report

Total Passed Failed Flaky Skipped
714 695 0 2 17
Test Changes Summary ✨13 ⏭️6 🗑️1

✨ New Tests (13)

  1. grant access drawer stays open on opening and inside clicks, closes on outside click (sidebar/drawerBehavior.test.ts)
  2. healthcheck drawer close button and outside click close without layout overlap (sidebar/drawerBehavior.test.ts)
  3. query history preview drawer keeps inside clicks and clears row state on close (sidebar/drawerBehavior.test.ts)
  4. top query details drawer controls copy link, close, and clean selected-row state (sidebar/drawerBehavior.test.ts)
  5. settings drawer matches baseline (sidebar/drawerSnapshots.test.ts)
  6. hotkeys drawer from information popup matches baseline (sidebar/drawerSnapshots.test.ts)
  7. account popup matches baseline (sidebar/drawerSnapshots.test.ts)
  8. hotkeys drawer from shortcut on query page matches baseline (sidebar/drawerSnapshots.test.ts)
  9. grant access drawer matches baseline (sidebar/drawerSnapshots.test.ts)
  10. top query details drawer matches baseline (sidebar/drawerSnapshots.test.ts)
  11. Pressing hotkeys shortcut in editor page opens hotkeys panel (sidebar/sidebar.test.ts)
  12. Tenant V2 navigation item uses SPA navigation on regular click (sidebar/sidebar.test.ts)
  13. Tenant V2 navigation href keeps browser-native modified-click behavior (sidebar/sidebar.test.ts)

⏭️ Skipped Tests (6)

  1. settings drawer matches baseline (sidebar/drawerSnapshots.test.ts)
  2. hotkeys drawer from information popup matches baseline (sidebar/drawerSnapshots.test.ts)
  3. account popup matches baseline (sidebar/drawerSnapshots.test.ts)
  4. hotkeys drawer from shortcut on query page matches baseline (sidebar/drawerSnapshots.test.ts)
  5. grant access drawer matches baseline (sidebar/drawerSnapshots.test.ts)
  6. top query details drawer matches baseline (sidebar/drawerSnapshots.test.ts)

🗑️ Deleted Tests (1)

  1. Pressing Ctrl+K in editor page opens hotkeys panel (sidebar/sidebar.test.ts)

Bundle Size: 🔽

Current: 64.01 MB | Main: 64.17 MB
Diff: 0.17 MB (-0.26%)

✅ Bundle size decreased.

ℹ️ CI Information
  • Test recordings for failed tests are available in the full report.
  • Bundle size is measured for the entire 'dist' directory.
  • 📊 indicates links to detailed reports.
  • 🔺 indicates increase, 🔽 decrease, and ✅ no change in bundle size.

@astandrik astandrik force-pushed the astandrik.upgrade-to-navigation-v4 branch from 20b9a75 to 6dd397e Compare June 19, 2026 15:12
@astandrik astandrik force-pushed the astandrik.upgrade-to-navigation-v4 branch from d872849 to 0506933 Compare June 20, 2026 12:54
@astandrik astandrik marked this pull request as ready for review June 20, 2026 13:59
Copilot AI review requested due to automatic review settings June 20, 2026 13:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the app’s Gravity UI navigation stack to @gravity-ui/navigation@4.0.18 and adapts the AsideHeader/sidebar, settings panel, drawer integration, and Playwright E2E coverage to the new component APIs and DOM/QA hooks.

Changes:

  • Upgraded @gravity-ui/navigation to v4 and migrated AsideHeader/footer/menu item APIs (MenuItemAsideHeaderItem, linkhref, popup and panel prop renames).
  • Reworked drawer implementation/layout to use the updated Gravity UI Drawer API and refined drawer container sizing to prevent viewport overlap.
  • Updated Playwright sidebar models/selectors and added new drawer behavior + visual snapshot coverage.

Reviewed changes

Copilot reviewed 19 out of 27 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
tests/utils/toggleExperiment.ts Uses the new sidebar drawer-close path when cleaning up experiment toggling.
tests/suites/tenant/queryHistory/models/QueriesHistoryTable.ts Adds helper to assert active row state for drawer behavior tests.
tests/suites/tenant/queryEditor/models/SettingsDialog.ts Stabilizes select/switch interactions with updated Gravity UI controls.
tests/suites/sidebar/Sidebar.ts Migrates sidebar E2E model to new QA hooks/DOM structure and updated drawer mechanics.
tests/suites/sidebar/sidebar.test.ts Updates navigation setup for backend param and adds SPA vs modified-click navigation tests.
tests/suites/sidebar/drawerSnapshots.test.ts Adds visual snapshot coverage for drawers/popup UI under the new navigation stack.
tests/suites/sidebar/drawerBehavior.test.ts Adds behavior/regression tests for outside click, resize, and selection cleanup across drawers.
src/containers/UserSettings/UserSettings.tsx Wraps Settings in a full-height container and adjusts item rendering for new Settings API usage.
src/containers/UserSettings/Setting.tsx Adds aria-label wiring for switch/radio controls to preserve accessible names.
src/containers/AsideNavigation/Navigation.tsx Updates tenant nav item typing and switches from link to href semantics.
src/containers/AsideNavigation/InformationPopup/InformationPopup.tsx Adds QA attributes to support new E2E selectors.
src/containers/AsideNavigation/hooks/useHotkeysPanel.tsx Migrates HotkeysPanel prop names (visibleopen) and adds drawer QA.
src/containers/AsideNavigation/AsideNavigation.tsx Migrates AsideHeader/FooterItem APIs, adds QA hooks, and updates panel item props.
src/containers/AsideNavigation/AsideNavigation.scss Rehomes AsideHeader content layout styles under the new navigation block.
src/containers/App/App.scss Removes old .gn-aside-header__content styles that no longer apply after upgrade.
src/components/Drawer/DrawerContext.tsx Changes container width calculation to use visible viewport width for better drawer sizing.
src/components/Drawer/Drawer.tsx Migrates from @gravity-ui/navigation drawer primitives to @gravity-ui/uikit Drawer and updates outside-click/resize handling.
src/components/Drawer/Drawer.scss Updates layout/container styles for new Drawer mounting strategy.
package.json Pins @gravity-ui/navigation to 4.0.18.
package-lock.json Lockfile updates for the navigation v4 dependency graph.

Comment thread src/components/Drawer/Drawer.scss
Comment thread src/containers/UserSettings/UserSettings.tsx
Comment thread tests/suites/sidebar/drawerSnapshots.test.ts
Comment thread tests/suites/sidebar/drawerSnapshots.test.ts
Comment thread tests/suites/sidebar/drawerSnapshots.test.ts
Comment thread tests/suites/sidebar/drawerSnapshots.test.ts
Comment thread tests/suites/sidebar/drawerSnapshots.test.ts
Comment thread src/containers/UserSettings/UserSettings.tsx Outdated
Comment thread package.json Outdated
Comment thread src/components/Drawer/Drawer.tsx Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 28 changed files in this pull request and generated 3 comments.

Comment thread tests/suites/sidebar/Sidebar.ts
Comment thread tests/suites/sidebar/Sidebar.ts
Comment thread src/components/Drawer/Drawer.tsx Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 28 changed files in this pull request and generated 1 comment.

Comment thread src/containers/UserSettings/UserSettings.tsx

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 643e094af0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tests/suites/sidebar/Sidebar.ts

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 28 changed files in this pull request and generated 1 comment.

Comment thread src/containers/UserSettings/UserSettings.tsx Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: update oss navigation to v4

2 participants